Method and system for managing a dispatch of vehicles

ABSTRACT

The disclosed embodiments illustrate method and system for managing a dispatch of vehicles based on generation of a dispatch schedule. The method includes generating a dispatch schedule for one or more vehicles at one or more time instants based on a first demand for the one or more vehicles along a route. For a current time instant, the method includes predicting a second demand for the one or more vehicles at each of the one or more stations, at time instants subsequent to the current time instant, based on a current demand. The method further includes updating the dispatch schedule by varying the count of vehicles to be dispatched from the first station based at least on the second demand. Further, the method includes transmitting a notification to a computing device installed in each of the one or more vehicles.

TECHNICAL FIELD

The presently disclosed embodiments are related, in general, to atransportation system. More particularly, the presently disclosedembodiments are related to methods and systems for managing a dispatchof vehicles based on generation of a dispatch schedule.

BACKGROUND

Typically, transport agencies determine a fixed schedule for dispatch ofvehicles on one or more routes, based on historical demand. The dispatchof such vehicles may be scheduled by the transport agencies in a mannerthat public demands along these routes are met. However, in most of thescenarios, the public demand is not constant, and may vary based onvarious parameters, such as time of a day, a public meeting, or afestival. Considering all such parameters, the fixed schedule fordispatching the vehicles on the one or more routes, may not besufficient to cater the varying public demand. Therefore, there is aneed for a robust method and system to manage the schedule fordispatching the vehicles along the one or more routes.

Further limitations and disadvantages of conventional and traditionalapproaches will become apparent to one of skill in the art, throughcomparison of described systems with some aspects of the presentdisclosure, as set forth in the remainder of the present application andwith reference to the drawings.

SUMMARY

According to embodiments illustrated herein, there is provided a methodfor managing a dispatch of vehicles based on generation of a dispatchschedule. The method includes generating, by one or more processors, adispatch schedule for one or more vehicles at one or more time instantsbased on a first demand for the one or more vehicles at one or morestations in a route and a count of the one or more vehicles, wherein thedispatch schedule comprises at least a count of vehicles, from the oneor more vehicles, to be dispatched from a first station of the one ormore stations at the corresponding time instant. At a current timeinstant of the one or more time instants, the method further includespredicting, by the one or more processors, a second demand for the oneor more vehicles at each of the one or more stations, at the one or moretime instants subsequent to the current time instant, based on a currentdemand received from one or more sensors at each of the one or morestations. The method further includes updating, by the one or moreprocessors, the dispatch schedule by varying the count of vehicles, fromthe one or more vehicles, to be dispatched from the first station basedat least on the second demand and the count of the one or more vehicles.The method further includes transmitting, by one or more transceivers, anotification to a computing device installed in each of the one or morevehicles, wherein the notification comprises an updated dispatchschedule for the corresponding vehicle, wherein each of the one or morevehicle dispatches from the first station based on the updated dispatchschedule.

According to embodiments illustrated herein, there is provided a systemfor managing a dispatch of vehicles based on generation of a dispatchschedule. The system includes one or more processors configured togenerate a dispatch schedule for one or more vehicles at one or moretime instants based on a first demand for the one or more vehicles atone or more stations in a route and a count of the one or more vehicles,wherein the dispatch schedule comprises at least a count of vehicles,from the one or more vehicles, to be dispatched from a first station ofthe one or more stations at the corresponding time instant. At a currenttime instant of the one or more time instants, the one or moreprocessors are further configured to predict a second demand for the oneor more vehicles at each of the one or more stations, at the one or moretime instants subsequent to the current time instant, based on a currentdemand received from one or more sensors at each of the one or morestations. The one or more processors are further configured to updatethe dispatch schedule by varying the count of vehicles, from the one ormore vehicles, to be dispatched from the first station based at least onthe second demand and the count of the one or more vehicles. The one ormore processors are further configured to transmit a notification to acomputing device installed in each of the one or more vehicles, whereinthe notification comprises an updated dispatch schedule for thecorresponding vehicle, wherein each of the one or more vehicledispatches from the first station based on the updated dispatchschedule.

According to embodiments illustrated herein, there is provided acomputer program product for use with a computing device. The computerprogram product comprises a non-transitory computer readable mediumstoring a computer program code for managing a dispatch of vehiclesbased on generation of a dispatch schedule. The computer program code isexecutable by one or more processors in the computing device to generatea dispatch schedule for one or more vehicles at one or more timeinstants based on a first demand for the one or more vehicles at one ormore stations in a route and a count of the one or more vehicles,wherein the dispatch schedule comprises at least a count of vehicles,from the one or more vehicles, to be dispatched from a first station ofthe one or more stations at the corresponding time instant. At a currenttime instant of the one or more time instants, the computer program codeis further executable by the one or more processors to predict a seconddemand for the one or more vehicles at each of the one or more stations,at the one or more time instants subsequent to the current time instant,based on a current demand received from one or more sensors at each ofthe one or more stations. The computer program code is furtherexecutable by the one or more processors to update the dispatch scheduleby varying the count of vehicles, from the one or more vehicles, to bedispatched from the first station based at least on the second demandand the count of the one or more vehicles. The computer program code isfurther executable by the one or more processors to transmit anotification to a computing device installed in each of the one or morevehicles, wherein the notification comprises an updated dispatchschedule for the corresponding vehicle, wherein each of the one or morevehicle dispatches from the first station based on the updated dispatchschedule.

BRIEF DESCRIPTION OF DRAWINGS

The accompanying drawings illustrate the various embodiments of systems,methods, and other aspects of the disclosure. Any person with ordinaryskills in the art will appreciate that the illustrated elementboundaries (e.g., boxes, groups of boxes, or other shapes) in thefigures represent one example of the boundaries. In some examples, oneelement may be designed as multiple elements, or multiple elements maybe designed as one element. In some examples, an element shown as aninternal component of one element may be implemented as an externalcomponent in another, and vice versa. Furthermore, the elements may notbe drawn to scale.

Various embodiments will hereinafter be described in accordance with theappended drawings, which are provided to illustrate the scope and not tolimit it in any manner, wherein like designations denote similarelements, and in which:

FIG. 1 is a block diagram that illustrates a system environment, inwhich various embodiments can be implemented, in accordance with atleast one embodiment;

FIG. 2 is a block diagram that illustrates an application server, inaccordance with at least one embodiment;

FIG. 3 is a flowchart that illustrates a method for managing a dispatchof vehicles based on generation of a dispatch schedule, in accordancewith at least one embodiment;

FIG. 4 is a block diagram that illustrates an exemplary Graphical UserInterface (GUI) presented on an exemplary vehicle-computing device, whena first notification, comprising the updated dispatch schedule, istransmitted, in accordance with at least one embodiment;

FIG. 5 is block diagram that illustrates another exemplary GraphicalUser Interface (GUI) presented on an exemplary user-computing device,when a second notification associated with the updated dispatchschedule, is transmitted, in accordance with at least one embodiment;and

FIG. 6 is a block diagram that illustrates an exemplary Graphical UserInterface (GUI) presented on an exemplary user-computing device forraising a travel request, in accordance with at least one embodiment.

DETAILED DESCRIPTION

The present disclosure is best understood with reference to the detailedfigures and description set forth herein. Various embodiments arediscussed below with reference to the figures. However, those skilled inthe art will readily appreciate that the detailed descriptions givenherein with respect to the figures are simply for explanatory purposesas the methods and systems may extend beyond the described embodiments.For example, the teachings presented and the needs of a particularapplication may yield multiple alternative and suitable approaches toimplement the functionality of any detail described herein. Therefore,any approach may extend beyond the particular implementation choices inthe following embodiments described and shown.

References to “one embodiment,” “at least one embodiment,” “anembodiment,” “one example,” “an example,” “for example,” and so on,indicate that the embodiment(s) or example(s) may include a particularfeature, structure, characteristic, property, element, or limitation,but that not every embodiment or example necessarily includes thatparticular feature, structure, characteristic, property, element, orlimitation. Furthermore, repeated use of the phrase “in an embodiment”does not necessarily refer to the same embodiment.

Definitions: The following terms shall have, for the purposes of thisapplication, the meanings set forth below.

A “computing device” may refer to a device that includes one or moreprocessors/microcontrollers and/or any other electronic components, adevice, or a system that performs one or more operations according toone or more programming instructions/codes. Examples of the computingdevice may include, but are not limited to, a desktop computer, alaptop, a personal digital assistant (PDA), a mobile device, aSmartphone, a tablet computer (e.g., iPad® and Samsung Galaxy Tab®), andthe like.

“One or more vehicles” may refer to a means of transportation that maytransport one or more individuals and/or cargos between two or morelocations along a route. In an embodiment, a group of one or moreindividuals may share a vehicle of the one or more vehicles. In anembodiment, the one or more vehicles may correspond to one or more of abus, a truck, a car, a ship, an airplane, and the like.

A “count of one or more vehicles” may refer to a count of total vehiclespossessed or controlled by a service provider associated with atransportation agency. For example, a transportation agency has 200buses. This implies that the count of the one or more vehicles is 200.

A “count of vehicles dispatched” may refer to a count of vehicles thatare dispatched from a first station of a route and are currently runningalong the route. For example, a transportation agency has 200 buses. Ofthe 200 buses, 118 buses are dispatched from the first station of theroute, implying that the count of vehicles dispatched is 118.

A “count of remaining vehicles” may refer to a count of vehicles thatare currently not dispatched but may be scheduled to dispatch in future.For example, a transportation agency has 200 buses. Of the 200 buses,118 buses are dispatched on one or more routes. Thus, 82 buses areavailable to be dispatched at future time instants, implying that thecount of remaining vehicles is 82.

“One or more time instants” may refer to fixed time instants at whichone or more vehicles are scheduled to be dispatched on a route. In anembodiment, the one or more time instants may be determined by a serviceprovider of a transport agency based on a demand at one or more stationsin the route. For example, a transport agency dispatches three busesfrom a total of ten buses at “9:00 AM,” “10:00 AM,” and “11:00 AM,”respectively. In such a case, “9:00 AM,” “10:00 AM,” and “11:00 AM” maycorrespond to the one or more time instants.

A “route” may refer to a path that may be traversed by a vehicle to pickup or drop one or more individuals. In an embodiment, the route mayinclude one or more stations corresponding to one or more locations “s.”The one or more stations may come in a predetermined order in the route.In an embodiment, the route may comprise at least one pair of stationshaving at least one source station and one destination station. Forexample, a city bus travels from Harlem to East Village in New York.Thus, the path from Harlem to East Village may correspond to a routewith Harlem being a source station and East Village being a destinationstation. Hereinafter, the terms such as “stations” or “nodes” are usedinterchangeably.

A “dispatch schedule” of a vehicle along a route may correspond to apredefined time duration during which the vehicle may traverse along theroute. In another embodiment, the dispatch schedule may also comprise acount of vehicles, from one or more vehicles, to be dispatched from afirst station, of one or more stations, in the route at one or more timeinstants. In another embodiment, the dispatch schedule may also refer toa time instant at which a vehicle has to start from a source station,i.e., the first station. For example, three city buses from ten citybuses are scheduled to be dispatched along a route (e.g., Harlem->EastVillage->Harlem, with a round trip time of one hour) at each of one ormore time instants, “9:00 AM,” “9.30 AM,” and “10:00 AM,” respectively.

A “user” may refer to an individual who may wish to avail a transportfacility to commute between a pair of stations along a route. In anembodiment, the user may transmit a travel request to avail thetransport facility using a computing device associated with him/her. Inan embodiment, the user may pay some incentives in exchange of thetransport facility. Hereinafter, “user,” “commuter,” “traveler,”“rider,” “requestor,” or “passenger” may be interchangeably used.

A “demand” may refer to a request that may be initiated by one or moreindividuals corresponding to travel between a pair of stations along aroute. In an embodiment, the demand may correspond to a historicaldemand, a first demand, a current demand, or a second demand.Hereinafter, “demand,” “need,” “request,” or “requirement” may beinterchangeably used.

A “historical demand” may refer to a demand for one or more vehicles atone or more stations in a route. In an embodiment, the historical demandis associated with a first count of users that commuted along the routeat one or more other time instants prior to one or more time instants.For example, ten users commuted along Harlem->East Village->Harlem at“10:00 AM” on Dec. 18, 2015. In such a case, on Dec. 19, 2015 the demandcorresponding to the ten users may be referred to the historical demand.

A “first demand” may refer to a predicted demand for one or morevehicles at one or more stations in a route. In an embodiment, the firstdemand may correspond to a second count of one or more users predictedto commute along the route based on a historical demand. For example,ten users are predicted to commute along Harlem->East Village->Harlem at“10:00 AM” on Dec. 19, 2015 based on a historical demand at “10:00 AM”on Dec. 18, 2015.

A “current demand” may refer to a real time demand and/or a pre-bookeddemand for one or more vehicles at one or more stations in a route, at acurrent time instant. In an embodiment, the pre-booked demand maycorrespond to one or more users who may have requested to travel along aroute in advance (i.e., before a first predefined time interval prior toa date of travel). In an embodiment, the real-time demand may bedetermined based on one or more requests received during a secondpredefined time interval prior to the current time instant. In anembodiment, an unrealized demand at a time instant prior to the currenttime instant may also comprise the current demand. For example, ten userrequests are received to travel along a route (e.g., Harlem->EastVillage) at “11:00 AM.” The requests are received during a secondpredefined time interval, i.e., during “10:00 AM” to “11:00 AM.” In sucha case, the ten user requests may correspond to the current demand at“11:00 AM.”

A “second demand” may refer to a predicted demand for one or morevehicles at one or more stations in a route. In an embodiment, thesecond demand is predicted for time instants that are temporallysubsequent to a current time instant. In an embodiment, the seconddemand may be predicted based on a current demand at the current timeinstant. The second demand is associated with a fourth count of one ormore users that are predicted to commute along a route based on thecurrent demand.

A “demand served” may refer to realized demand for one or more vehiclesat one or more stations in a route. In an embodiment, the demand servedis associated with a set of first users from one or more users, suchthat their demand was met. For example, ten travel requests are receivedto travel along a route (e.g., Harlem->East Village) at “11:00 AM.” At“11:00 AM,” due to unavailability of vehicles, the demand of eight usersfrom a total of ten users was met. In such a case, the eight users(i.e., the set of first users) may correspond to the demand served.

An “unrealized demand” may refer to a set of second users from one ormore users whose demand for one or more vehicles was unmet at a timeinstant prior to a current time instant. For example, ten travelrequests are received to travel along a route (e.g., Harlem->EastVillage) at “11:00 AM.” At “11:00 AM,” due to unavailability ofvehicles, the demand of eight users out of ten users was met. In such acase, the two left over users (i.e., the set of second users) maycorrespond to the unrealized demand.

A “capacity of a vehicle” may refer to a maximum count of individualsthat may be accommodated in a vehicle when the vehicle is empty. In anembodiment, the capacity of the vehicle corresponds to a maximum countof permissible vacant seats in the vehicle. Thus, the capacity of thevehicle may correspond to a total number of seats in the vehicle. Forexample, a city bus can accommodate 45 commuters, implying that thecapacity of the city bus is “45.”

“One or more performance metrics” may refer to one or more targets thata service provider of a transport agency wants to achieve. In anembodiment, the service provider of the transport agency may dispatchone or more vehicles to optimize one or more of the one or moreperformance metrics. The one or more performance metrics may comprise ademand served by the one or more vehicles, a count of vehiclesdispatched from the one or more vehicles, a count of trips made by theone or more vehicles along the route, a revenue generated by the one ormore vehicles, or an average user waiting time.

An “average user waiting time” may refer to a time duration up to whichan individual (e.g., a commuter) may be required to wait for a vehicleat a station to travel between two stations along a route. For example,Jack requested for a bus to travel from a first station to a secondstation along a first route at “10.30 AM.” The bus is scheduled to bedispatched at “10.50 AM.” In such a case, 20 minutes is the average userwaiting time for Jack.

FIG. 1 is a block diagram of a system environment 100 in which variousembodiments may be implemented. The system environment 100 includes adatabase server 102, an application server 104, a vehicle-computingdevice 106, a user-computing device 108 and a network 110. Variousdevices in the system environment 100 may be interconnected over thenetwork 110. FIG. 1 shows, for simplicity, one database server 102, oneapplication server 104, vehicle-computing devices 106A to 106E(collectively referred to as a vehicle-computing device 106), and oneuser-computing device 108. However, it will be apparent to a personhaving ordinary skill in the art that the disclosed embodiments may alsobe implemented using multiple database servers, multiple applicationservers, multiple vehicle-computing devices, and multiple user-computingdevices without departing from the scope of the disclosure.

The database server 102 may refer to a computing device that may becommunicatively coupled over the network 110. The database server 102may be configured to store information pertaining to one or more timeinstants at which the one or more vehicles are to be dispatched, andinformation pertaining to a geographical network. The geographicalnetwork may comprise a map data of one or more routes along which theone or more vehicles are to be dispatched.

In an embodiment, the database server 102 may be further configured tostore a user profile associated with each of one or more users, suchthat the one or more users may utilize the one or more vehicles tocommute along a route in the one or more routes. In an embodiment, theuser profile of a user may comprise a user identification of the userand/or a travel history of the user, (i.e., one or more travel requestsassociated with the user). In an embodiment, the travel history of theuser may further comprise a log of time instants at which the user mayhave travelled in the past. The log of time instants may be indicativeof at least a sign-in and a sign-out of the user with respect to avehicle-computing device, such as the vehicle-computing device 106A. Inan embodiment, the log of time instants may be extracted from databasesof one or more electronic ticketing systems or other transportationagencies. In an embodiment, the user profile of the user may be furtherupdated based on one or more new travel requests raised by the user. Anexemplary Graphical User Interface (GUI) for raising the travel requesthas been explained later in FIG. 6.

In an embodiment, the database server 102 may be further configured tostore a historical demand and a current demand received from theapplication server 104. In an embodiment, the historical demand may beassociated with the one or more travel requests at one or more othertime instants, such that the one or more other time instants aretemporally prior to the one or more time instants. In an embodiment, thecurrent demand may be associated with one or more pre-booked travelrequests or one or more real time travel requests. In an embodiment, apre-booked travel request may correspond to a travel request raised by auser at least before a first pre-defined time period prior to a date oftravel. For example, a user raises a travel request at “5:00 PM” on May19, 2015. The travel request may correspond to a travel from a firststation to a second station along a first route at “10.30 AM” on May 20,2015. In such a case, the travel request may correspond to a pre-bookedtravel request. In an embodiment, a real time travel request maycorrespond to a travel request raised by a user at least before a secondpre-defined time period prior to the time instant of travel. Forexample, a second user raises a travel request at “9:00 AM” on May 20,2015. The travel request may correspond to a travel from a secondstation to a third station along a first route at “10:00 AM” on May 20,2015. In such a case, the travel request may correspond to a real-timetravel request. In an embodiment, the first predefined time period(e.g., one day) and the second pre-defined time period (e.g., one hour)may be defined by a service provider associated with the one or morevehicles.

In an embodiment, the database server 102 may store informationpertaining to the one or more vehicles received from an agent-computingdevice (not shown) associated with a service provider of the one or morevehicles. For example, the information pertaining to the one or morevehicles may comprise a count of the one or more vehicles, a capacity ofeach of the one or more vehicles, a count of vehicles dispatched, acount of remaining vehicles, and/or the like.

In an embodiment, the database server 102 may be configured to store oneor more performance metrics as defined by the service provider of theone or more vehicles. The one or more performance metrics may compriseat least a demand served by the one or more vehicles, a count ofvehicles dispatched from the one or more vehicles, a count of trips madeby the one or more vehicles along the route, a revenue generated by theone or more vehicles, and/or an average user waiting time. In anembodiment, the database server 102 may be further configured to store adispatch schedule, received from the application server 104, to dispatchthe one or more vehicles on the one or more routes at the one or moretime instants.

Further, in an embodiment, the database server 102 may be configured totransmit or receive one or more instructions/queries/information to/fromone or more devices, such as the application server 104, thevehicle-computing device 106, and the user-computing device 108, overthe network 110. In an embodiment, the database server 102 may receive aquery from the application server 104 to retrieve the historical demand,the current demand, and the information pertaining to the one or moreroutes/vehicles. For querying the database server 102, one or morequerying languages may be utilized such as, but are not limited to, SQL,QUEL, DMX and so forth. Further, the database server 102 may be realizedthrough various technologies such as, but not limited to, Microsoft® SQLserver, Oracle®, and My SQL®.

The application server 104 refers to a computing device including one ormore processors and one or more memories. The one or more memories mayinclude computer readable codes and instructions that may be executableby the one or more processors to perform one or more predeterminedoperations. In an embodiment, the one or more predetermined operationsmay comprise generation of a dispatch schedule to dispatch the one ormore vehicles along the one or more routes at the one or more timeinstants. In an embodiment, the one or more vehicles may correspond tototal vehicles possessed by the service provider. In an embodiment, theservice provider may be associated with a transportation agency (e.g., apublic or a private transportation service). To generate the dispatchschedule, the application server 104 may be configured to determine thehistorical demand and a first demand for the one or more vehicles at theone or more stations of each route of the one or more routes.

In an embodiment, the application server 104 may determine thehistorical demand for the one or more vehicles based on the user profileof each of the one or more users. The historical demand may beassociated with a first count of the one or more users who travelledalong a route at the one or more other time instants. The one or moreother time instants are temporally prior to the one or more timeinstants. In an embodiment, the application server 104 may be configuredto predict a second count of the one or more users based on thehistorical demand. In an embodiment, the second count of the one or moreusers may correspond to the first demand. The application server 104 mayutilize one or more prediction algorithms, such as, but not limited to,logistic regression algorithm and predictive modelling algorithm, forpredicting the first demand. Further, the application server 104 mayutilize the first demand to generate the dispatch schedule. In anembodiment, the application server 104 may utilize an Integer LearningProgramming (ILP) technique to generate the dispatch schedule formanaging the dispatch of the vehicles from the one or more vehicles atthe one or more time instants from the first station of the one or moreroutes. The application server 104 may further transmit the historicaldemand, the first demand, and the dispatch schedule to the databaseserver 102.

Further, the application server 104 may be configured to update thegenerated dispatch schedule based on a second demand such that thesecond demand is predicted based on the current demand. To determine thecurrent demand associated with each of the one or more routes, theapplication server 104 may receive the one or more travel requests atthe current time instant from one or more sensors installed at one ormore stations of each of the one or more routes. Further, theapplication server 104 may determine a third count of the one or moreusers for each route, such that the third count of the one or more usersassociated with a route are scheduled to commute along the route at thecurrent time instant. The application server 104 may determine the thirdcount of the one or more users based on the received one or more travelrequests at the current time instant. The third count of the one or moreusers associated with a route may correspond to the current demand forthe route. In an embodiment, the application server 104 may beconfigured to predict a fourth count of the one or more users based foreach route on the current demand associated with each route in the oneor more routes. The fourth count of the one or more users may bepredicted for time instants that are temporally subsequent to thecurrent time instant. In an embodiment, the predicted fourth count ofthe one or more users may correspond to the second demand. For example,the current demand associated with a route at “11:00 PM” is ten users.Based on the current demand at “1:00 PM”, the application server 104 maypredict the fourth count of the one or more users who may commute alongthe route at “2:00 PM,” “3:00 PM,” and so forth. Further, theapplication server 104 may update the dispatch schedule based on thesecond demand.

In an embodiment, the application server 104 may update the dispatchschedule at the current time instant by utilizing one or moretechniques, such as, but not limited to, Model predictive control (MPC)technique. In an embodiment, the application server 104 may update thedispatch schedule at the current time instant to optimize one or more ofthe one or more performance metrics specified by the service provider.The optimization of the one or more performance metrics may comprisemaximizing the demand served by the one or more vehicles, minimizing thecount of vehicles dispatched from the one or more vehicles, minimizingthe count of trips made by the one or more vehicles along the route,maximizing the revenue generated by the one or more vehicles and/orminimizing the average user waiting time.

In an embodiment, the application server 104 may be configured to storethe current demand and the second demand in the database server 102.Further, the application server 104 may be configured to update thedispatch schedule, for the current time instant, stored in the databaseserver 102. The generation and the update of the dispatch schedule havebeen explained later in FIG. 3.

In an embodiment, the application server 104 may be further configuredto transmit a first notification to the vehicle-computing device 106 ofeach of the one or more vehicles. In an embodiment, the firstnotification to the vehicle-computing device 106 of each of the one ormore vehicles may comprise the updated dispatch schedule of thecorresponding vehicle. In an embodiment, the application server 104 mayfurther transmit a second notification to the user-computing device 108of each of the one or more users. The second notification to theuser-computing device 108 of each of the one or more users may comprisethe updated dispatch schedule of the one or more vehicles. Further, theservice provider of the one or more vehicles may utilize the updateddispatch schedule to manage a travel roster and various travel relatedlogistics.

The application server 104 may be realized through various types ofapplication servers, such as a Java application server, a .NET frameworkapplication server, a Base4 application server, a PHP frameworkapplication server, or any other application server framework. Theoperation of the application server 104 has been discussed later in FIG.2.

A person having ordinary skill in the art will appreciate that the scopeof the disclosure is not limited to realizing the database server 102and the application server 104 as separate entities. In an embodiment,the functionalities of the database server 102 can be integrated intothe application server 104, without any deviation from the scope of thedisclosure.

The vehicle-computing device 106 refers to a computing device thatincludes one or more processors and one or more memories. The one ormore memories may include computer readable codes and instructions thatmay be executable by the one or more processors to perform predeterminedoperations. In an embodiment, each of the one or more vehicles mayinclude the vehicle-computing device 106. In an embodiment, thevehicle-computing device 106 may include a navigation device withinbuilt GPS sensors. Further, the one or more memories of thevehicle-computing device 106 may store information pertaining to thegeographical network in which the corresponding vehicle plies. In anembodiment, the vehicle-computing device 106 may be configured toreceive the first notification from the application server 104. In anembodiment, the vehicle-computing device 106 may present the firstnotification to an operator associated with the corresponding vehicle.Examples of the operator may include, but are not limited to, anindividual driving a vehicle, an individual navigating the vehicle, oran individual coordinating a route of the vehicle. In an embodiment, thefirst notification may comprise the updated dispatch schedule,information pertaining to the route on which the vehicle is dispatched,and information pertaining to the time instant of the dispatch of thevehicle. In an embodiment, the vehicle-computing device 106 may displaythe route, on which the corresponding vehicle is dispatched, to theoperator. In an embodiment, the vehicle-computing device 106 maytransmit a real time location of the corresponding vehicle to theapplication server 104 after the vehicle is dispatched on the route. Anexample of a GUI displaying the first notification on thevehicle-computing device 106 has been explained in FIG. 4.

The vehicle-computing device 106 may correspond to a variety ofcomputing devices, such as a laptop, a PDA, a tablet computer, aSmartphone, a Phablet, and the like.

In an embodiment, the user-computing device 108 may be utilized by auser (e.g., a commuter, a traveler, or a passenger) who may wish toavail a vehicle to commute between at least two stations of the route.The user may utilize a GUI presented on the user-computing device 108 toraise a travel request pertaining to his/her travel schedule along theroute. For example, the travel request may comprise at least one or moreof, but not limited to, a source station, a destination station, a timeinstant at which the user may expect the vehicle at the source station,and a waiting time threshold (i.e., a tolerance time) up to which theuser may wait for the vehicle at the source station. The user-computingdevice 108 may transmit the travel request raised by the user to thedatabase server 102, and the application server 104 over the network110. Further, in an embodiment, the user may utilize the user-computingdevice 108 to cancel or edit a pending travel request. In an embodiment,the user-computing device 108 may receive the second notification, inresponse to the travel request, from the application server 104 over thenetwork 110. The second notification may be indicative of at least aconfirmation or a rejection of the travel request and/or the updateddispatch schedule corresponding to the vehicles to be dispatched. Anexample of a GUI displaying the second notification has been explainedin FIG. 5.

The user-computing device 108 may correspond to a variety of computingdevices such as, but not limited to, a laptop, a PDA, a tablet computer,a Smartphone, a Phablet, and the like.

A person having ordinary skill in the art will understand that the scopeof the disclosure is not limited to the utilization of theuser-computing device 108 by a single user. In an embodiment, theuser-computing device 108 may be utilized by more than one user to raiseone or more travel requests, without any deviation from the scope of thedisclosure.

The network 110 corresponds to a medium through which content andmessages flow among various devices of the system environment 100 (e.g.,the database server 102, the application server 104, thevehicle-computing device 106, and the user-computing device 108).Examples of the network 110 may include, but are not limited to, aWireless Fidelity (Wi-Fi) network, a Wireless Area Network (WAN), aLocal Area Network (LAN), or a Metropolitan Area Network (MAN). Variousdevices in the system environment 100 can connect to the network 110 inaccordance with various wired and wireless communication protocols suchas Transmission Control Protocol and Internet Protocol (TCP/IP), UserDatagram Protocol (UDP), and 2G, 3G, or 4G communication protocols.

FIG. 2 is a block diagram that illustrates the application server 104,in accordance with at least one embodiment. FIG. 2 has been described inconjunction with FIG. 1. In an embodiment, the application server 104may include a processor 202, a memory 204, a transceiver 206, a demandprocessing unit 208, a schedule generation unit 210, and an input/outputunit 212.

The processor 202 may be configured to execute one or more sets ofinstructions stored in the memory 204. The processor 202 is coupled tothe memory 204, the transceiver 206, the demand processing unit 208, theschedule generation unit 210, and the input/output unit 212. Theprocessor 202 may further comprise an arithmetic logic unit (ALU) (notshown) and a control unit (CU) (not shown). The ALU may be coupled tothe CU. The ALU may be configured to perform one or more mathematicaland logical operations and the CU may control the operation of the ALU.The processor 202 may execute a set of instructions/programs/codes/scripts stored in the memory 204 to perform one or more schedulegeneration operations. The processor 202 may be implemented based on anumber of processor technologies known in the art. Examples of theprocessor 202 include, but are not limited to, an X86-based processor, aReduced Instruction Set Computing (RISC) processor, anApplication-Specific Integrated Circuit (ASIC) processor, and/or aComplex Instruction Set Computing (CISC) processor.

The memory 204 may be operable to store one or more machine codes,and/or computer programs having at least one code section executable bythe processor 202. The memory 204 may store the one or more sets ofinstructions that are executable by the processor 202, the transceiver206, the demand processing unit 208, the schedule generation unit 210,and the input/output unit 212. In an embodiment, the memory 204 mayinclude one or more buffers (not shown). The one or more buffers maystore at least one or more of the historical demand, the first demand,the current demand, the second demand, information associated with theone or more routes, information associated with a set of constraints,information associated with the one or more performance metrics, theinformation associated with the one or more vehicles, and the schedule.Some of the commonly known memory implementations include, but are notlimited to, a random access memory (RAM), a read only memory (ROM), ahard disk drive (HDD), and a secure digital (SD) card. In an embodiment,the memory 204 may include the one or more machine codes, and/orcomputer programs that are executable by the processor 202 to performspecific operations. It will be apparent to a person having ordinaryskill in the art that the one or more instructions stored in the memory204 may enable the hardware of the application server 104 to perform thepredetermined operations.

The transceiver 206 transmits and receives messages and data to/fromvarious components, such as the database server 102, thevehicle-computing device 106, and the user-computing device 108, of thesystem environment 100, over the network 110. In an embodiment, thetransceiver 206 may be communicatively coupled to the network 110.Examples of the transceiver 206 may include, but are not limited to, anantenna, an Ethernet port, a USB port, or any other port that can beconfigured to receive and transmit data. The transceiver 206 receivesand transmits the demands/content/information/notifications inaccordance with the various communication protocols, such as, TCP/IP,UDP, and 2G, 3G, or 4G communication protocols.

The demand processing unit 208 may comprise suitable logic, circuitry,interfaces and/or code that may be configured to execute the one or moreinstructions stored in the memory 204 to determine the historical demandand the current demand for the one or more vehicles at the one or morestations associated with each route of the one or more routes. In anembodiment, the demand processing unit 208 may be further configured topredict the first demand and the second demand, based on the historicaldemand and the current demand, respectively. The demand processing unit208 may be implemented using one or more processor technologies known inthe art. Examples of the demand processing unit 208 include, but are notlimited to, an X86, a RISC processor, a CISC processor, or any otherprocessor. In another embodiment, the demand processing unit 208 may beimplemented as an Application-Specific Integrated Circuit (ASIC)microchip designed for a special application, such as predicting thefirst demand and the second demand for the one or more vehicles at theone or more time instants.

The schedule generation unit 210 may comprise suitable logic, circuitry,interfaces and/or code that may be configured to execute the one or moreinstructions stored in the memory 204 to generate the dispatch scheduleto dispatch the one or more vehicles along each route of the one or moreroutes at the one or more time instants. In an embodiment, the schedulegeneration unit 210 may further update the generated dispatch schedulebased on the second demand. In an embodiment, the schedule generationunit 210 may utilize one or more techniques to generate the dispatchschedule, such as, but not limited to, the Integer Linear programming(ILP) technique. Further, the schedule generation unit 210 may utilizeone or more techniques to update the generated dispatch schedule for thecurrent time instant, such as, but not limited to, the Model PredictiveControl (MPC) technique. The schedule generation unit 210 may beimplemented using one or more processor technologies known in the art.Examples of the schedule generation unit 210 include, but are notlimited to, an X86, a RISC processor, a CISC processor, or any otherprocessor. In another embodiment, the schedule generation unit 210 maybe implemented as an Application-Specific Integrated Circuit (ASIC)microchip designed for a special application, such as updating thedispatch schedule, to dispatch the one or more vehicles, for the currenttime instant based on the second demand predicted at the current timeinstant.

The input/output unit 212 may comprise suitable logic, circuitry,interfaces, and/or code that may be configured to receive the request orprovide an output to the user. The input/output unit 212 comprisesvarious input and output devices that are configured to communicate withthe processor 202. Examples of the input devices include, but are notlimited to, a keyboard, a mouse, a joystick, a touch screen, amicrophone, a camera, and/or a docking station. Examples of the outputdevices include, but are not limited to, a display screen and/or aspeaker.

The working of the application server 104 to dispatch the one or morevehicles on the one or more routes has been explained later in FIG. 3.

FIG. 3 is a flowchart 300 illustrating a method for managing thedispatch of the one or more vehicles based on generation of the dispatchschedule, in accordance with at least one embodiment. The flowchart 300has been described in conjunction with FIG. 1 and FIG. 2. The methodstarts at step 302.

For the purpose of the ongoing description, hereinafter, the method hasbeen explained with respect to a first route in the one or more routes.However, the scope of the disclosure should not be construed limiting tothe first route. In an embodiment, the following steps can also beperformed for the remaining one or more routes.

At step 304, the historical demand for the one or more vehicles may bedetermined. In an embodiment, the demand processing unit 208 inconjunction with the processor 202 may be configured to determine thehistorical demand for the one or more vehicles. In an embodiment, thedemand processing unit 208 may determine the historical demand at theone or more other time instants, such that the one or more other timeinstants are temporally prior to the one or more time instants.

In an embodiment, the demand processing unit 208 may be configured toextract the information pertaining to the one or more time instants fromthe database server 102. In an embodiment, the information pertaining tothe one or more time instants may comprise the one or more time instantsat which the one or more vehicles are to be dispatched from the firststation of the first route. In an embodiment, the processor 202 may beconfigured to determine the one or more time instants based on a countof the one or more travel requests received and/or a revenue trendgenerated at various time instants in the past. For example, theprocessor 202 may determine the count of the one or more travel requestsreceived at various time instants in a day and/or the revenue trendcorresponding to the day generated by the one or more vehicles,corresponding to a first route. Further, the processor 202 may identifya predefined count (e.g., six) of time instants in a day at which thehighest counts of the one or more travel requests is received and/or thehighest revenue is generated. In such a scenario, the six time instantsidentified by the processor 202 may correspond to the one or more timeinstants.

In an alternate embodiment, the service provider of the one or morevehicles may store the information pertaining to the one or more timeinstants in the database server 102 by utilizing the agent-computingdevice (not shown). For example, the service provider may determine fivetime instants in a day, (i.e., “8:00 AM,” “10:00 AM,” “12:00 PM,” “2:00PM,” and “4:00 PM”) to dispatch the one or more vehicles from the firststation of the first route. Thereafter, the service provider may storethe information pertaining to the five time instants in the databaseserver 102. Thereafter, the demand processing unit 208 may be configuredto determine the historical demand for the one or more vehicles, alongthe first route, at the one or more time instants.

In an embodiment, the demand processing unit 208 may determine thehistorical demand, at the one or more time instants, based on the userprofile associated with the one or more users. Prior to thedetermination of the historical demand the demand processing unit 208may be configured to extract information pertaining to the first route,such as, the one or more stations in the first route, and a trip timeassociated with the first route from the database server 102. In anembodiment, the demand processing unit 208 may extract the user profileof each of the one or more users from the database server 102.Thereafter, the demand processing unit 208 may determine the first countof the one or more users that commuted along the first route at the oneor more other time instants based on the user profile of each of the oneor more users. In an embodiment, the one or more other time instants maybe temporally prior to the one or more time instants. The demandprocessing unit 208 may determine the first count of the one or moreusers based on the travel history in the user profile of each of the oneor more users. The demand processing unit 208 may utilize the sign-inand/or the sign-out details of each of the one or more users todetermine the first count of the one or more users. In an embodiment,the demand processing unit 208 may utilize the sign-in and/or thesign-out details over a predefined time period to determine the firstcount of the one or more users.

For example, the demand processing unit 208 may extract the user profileof four users from the database server 102 to determine the historicaldemand for a first route (i.e., NODE_1->NODE_2->NODE_3) at the one ormore time instants (e.g., one or more time instants on Nov. 4, 2016).The demand processing unit 208 may determine the first count of usersfrom the four users that commuted along the first route (i.e.,NODE_1->NODE_2->NODE_3) at the one or more other time instants (e.g., onone or more other time instants on Nov. 3, 2016). Table 1 illustratesthe user profile of four users extracted from the database server 102.

TABLE 1 Illustration of the user profile of four users extracted from adatabase server Sign in Sign out Time (as Time (as per 12-hour per12-hour Source Destination Date (MM- clock) Date (MM- clock) User idstation station DD-YY) (HH:MM) DD-YY) (HH:MM) User_1 NODE_1 NODE_311-03-16 10:00 AM 11-03-16 11:00 AM NODE_3 NODE_1 11-03-16 05:00 PM11-03-16 06:00 PM User_2 NODE_1 NODE_3 11-03-16 10:00 AM 11-03-16 11:00AM NODE_4 NODE_6 11-03-16 11:00 AM 11-03-16 12:00 PM User_3 NODE_4NODE_6 11-03-16 11:00 AM 11-03-16 12:00 PM NODE_6 NODE_4 11-03-16 03:00PM 11-03-16 04:00 PM User_4 NODE_6 NODE_4 11-03-16 03:00 PM 11-03-1604:00 PM NODE_3 NODE_1 11-03-16 05:00 PM 11-03-16 06:00 PM

Referring to Table 1, based on the extracted user profile, the demandprocessing unit 208 may determine that on Nov. 3, 2016, two userscommuted along the first route (i.e., NODE_1->NODE_2->NODE_3) at “10:00AM”. Further, the demand processing unit 208 may determine the firstcount of the one or more users (i.e., two users, User_1 and User_2) whocommuted along the first route at a first other time instant in the oneor more other time instants (i.e., “10:00 AM” on Nov. 3, 2016). Thus,the demand processing unit 208 may determine the historical demandcorresponding to a first time instant in the one or more time instants(i.e., “10:00 AM” on Nov. 4, 2016) as two users (i.e., the first countof the one or more users). Similarly, the demand processing unit 208 maydetermine the historical demand corresponding to the one or morestations in the first route at the remaining one or more time instants.

In another embodiment, the processor 202 may extract the historicaldemand from databases of other transportation agencies that keep arecord of the one or more travel requests raised by the one or moreusers. In an embodiment, the demand processing unit 208 may beconfigured to store the historical demand in the database server 102,over the network 110. A person having ordinary skill in the art willunderstand that the above example is for illustrative purposes andshould not be construed to limit the scope of the disclosure.

At step 306, the dispatch schedule for the one or more vehicles at theone or more time instants is generated based on the first demand and thecount of the one or more vehicles on a specific route. In an embodiment,the schedule generation unit 210, in conjunction with the processor 202,may be configured to generate the dispatch schedule for the one or morevehicles at the one or more time instants, based on the first demand andthe count of the one or more vehicles corresponding to the first route.In an embodiment, the dispatch schedule comprises at least the count ofvehicles from the one or more vehicles to be dispatched from the firststation of the first route at the corresponding time instant. Prior tothe generation of the dispatch schedule, the transceiver 206 may querythe database server 102 to receive the count of the one or morevehicles, the set of constraints, the one or more performance metrics,the information pertaining to the one or more time instants, and thehistorical demand. In an embodiment, the demand processing unit 208 maybe configured to predict the first demand for the one or more vehiclesat the one or more time instants based on the historical demand.

To predict the first demand for the one or more vehicles, the demandprocessing unit 208 may predict a second count of the one or more usersbased on the historical demand. In an embodiment, the second count ofthe one or more users are predicted to commute along the first route atthe one or more time instants. In an embodiment, the demand processingunit 208 may utilize one or more prediction algorithms, such as, but notlimited to, logistic regression algorithm and predictive modellingalgorithm, for predicting the first demand. In an embodiment, the demandprocessing unit 208 may query the database server 102 to receive thehistorical demand corresponding to the one or more time instants overthe predefined time period. Thereafter, the demand processing unit 208may determine a median historical demand for each of the one or moretime instants, such that the median historical demand may correspond tothe first demand. For example, the demand processing unit 208 may querythe database server to receive the historical demand for a first timeinstant (e.g., “10:00 AM”) in the one or more time instants over thepredefined time interval (e.g., past 10 days). Based on the historicaldemand (e.g., 10 users, 8 users, 10 users, 9 users, 7 users, 11 users,10 users, 9 users, 12 users, and 11 users) received, the demandprocessing unit 208 may determine the median historical demand (i.e., 10users). Thereafter, the demand processing unit 208 may predict thesecond count of the one or more users, corresponding to the first timeinstant, based on the median historical demand (i.e., 10 users).Similarly, the first demand for the one or more vehicles at theremaining one or more time instants may be predicted.

Thereafter, the schedule generation unit 210 may generate the dispatchschedule based on the first demand and the count of the one or morevehicles. In an embodiment, the dispatch schedule comprises the count ofvehicles from the one or more vehicles to be dispatched from the firststation of the first route at the one or more time instants. In anembodiment, the schedule generation unit 210 may utilize an IntegerLinear Programming (ILP) technique to generate the dispatch schedule. Inan embodiment, the schedule generation unit 210 may formulate an ILPproblem to determine the count of vehicles from the one or more vehiclesto be dispatched at the one or more time instants. The schedulegeneration unit 210 may formulate the ILP problem in such a manner thatone or more of the one or more performance metrics are optimized. Theoptimization of one or more of the one or more performance metrics maycomprise maximizing the demand served by the one or more vehicles,minimizing the count of vehicles dispatched from the one or morevehicles, minimizing the count of trips made by the one or more vehiclesalong the first route, maximizing the revenue generated and/orminimizing the average user waiting time. In an embodiment, the serviceprovider associated with the one or more vehicles may store the set ofconstraints in the database server 102, utilizing the agent computingdevice (not shown).

In an exemplary implementation, the schedule generation unit 210 mayformulate an ILP problem for the dispatch schedule generation using thefollowing conditions:Maximize_(x) _(d) _(,y) _(b) _(,z) _(st) Σ_(dϵD)x_(d)  (1)subject to x_(d)ϵ{0,n_(d)}∀dϵD  (2)y_(b)ϵ{0,Σ_(rϵR:rϵb)m_(r)}∀dϵD  (3)z_(st)ϵ{0,Σ_(rϵR)m_(r)}∀sϵS,tϵT  (4)z_(st)=Σ_({bϵB|sϵr,rϵb,t−v) ⁻¹ _(d) _(r)_((r(1),s)ϵb})y_(b)∀sϵS,tϵT  (5)Σ_({bϵB:rϵb,t) _(b) _(≤t≤t) _(b) _(+RTT(r) where t) _(b)_(ϵb})y_(b)≤m_(r)∀tϵT,∀rϵR  (6)Σ_({dϵD:∃rϵR such that (s) _(d) _(,s,e) _(d) _()ϵr,t=t) _(d) _(+v) ⁻¹_(d) _(r) _((s) _(d,s)}x) _(d) ≤c*z _(st)∀sϵS,tϵT  (7)where,

T: represents the one or more time instants at which the vehicles fromthe one or more vehicles are to be dispatched on the first route. Forexample, T={t₁,t₂,t₃};

R: represents the first route, comprising the one or more stations, onwhich the vehicles from the one or more vehicles are to be dispatched.For example, r={s₁, s₂, s₃, s′₁}: rϵR;

S: represents the one or more stations (i.e., S={s₁, s₂, s₃, s′₁}) inthe first route R;

D: represents a set of first demand vectors corresponding to the firstroute. For example, for the first route, r={s₁, s₂, s₃, s′₁} and the oneor more time instants, t={t₁, t₂, t₃}, the set of first demand vectorsmay be {(s₁, s₂, t₁, t₂), (s₂, s₃, t₁, t₂), (s₃, s′₁, t₁, t₂), (s₁, s₂,t₂, t₃), (s₂, s₃, t₂, t₃), and (s₃, s′₁, t₂, t₃)}.

n_(d): represents a first count of the one or more users correspondingto a first demand vector (d) in the set of first demand vectors (D). Forexample, for a first demand vector, d:(s_(i), s_(j), t_(k), t_(l)),n_(d) represents the first count of one or more users that are predictedto commute from a source station s_(i) to a destination station s_(j),such that the first count of the one or more users is expected to arrivebetween a time interval of t_(k) and t_(l);

N_(D): represents a set of the first count of the one or more userscorresponding to the set of first demand vectors, such thatN_(D):={n_(d):dϵD};

x_(d): represents one or more users of type d (i.e., a set of firstusers from the one or more users) that may be feasibly served by thedispatch schedule;

B: represents a possible set of the one or more routes and thecorresponding one or more time instants;

b=represents the first route and the one or more time instants at whichthe vehicles from the one or more vehicles are to be dispatched from thefirst station of the first route, such that b={(r,t): r={s₁, s₂, s₃,s′₁}, tϵ{t₁, t₂, t₃}} and bϵB;

y_(b): represents the vehicles from the one or more vehicles that are tobe dispatched from the first station of the first route at the one ormore time instants, such that bϵB;

c: represents a capacity of a vehicle in the one or more vehicles; and

m_(r): represents the count of the one or more vehicles to be dispatchedalong the first route (r).

As shown above, the ILP problem is represented in equation (1), whilethe set of constraints (as specified by the service provider) to the ILPproblem is represented in equations (2)-(7). In an embodiment, an aim ofthe ILP problem (equation (1)) is to maximize the demand served by theone or more vehicles along the first route. Equation (2) represents arange of demands that may be feasibly served corresponding to a demandvector such as the first demand vector (d). Equation (3) represents arange of the count of vehicles from the one or more vehicles that may bedispatched from the first station of the first route at the one or moretime instants, such that the count of the vehicles dispatched may notexceed the count of the one or more vehicles. Equation (5) defines avariable z_(st) which is a latent variable that denotes the count ofvehicles at a time instant t at a station s and equation (4) representsthe range of z_(st). Equation (6) represents that the count of vehiclesdispatched from the one or more vehicles is at most the count of the oneor more vehicles. Further, equation (7) represents that the first demandserved by the dispatched vehicles at the station s at the time instant tis limited by the capacity of the dispatched vehicles at the station sat the time instant t (i.e., an upper bound on the demand served by theone or more vehicles).

In another embodiment, the schedule generation unit 210 may formulateanother ILP to generate the dispatch schedule such that the count oftrips made by the one or more vehicles on the first route is minimizedand the demand served is maximized. In an embodiment, the processor 202may formulate such an ILP problem using the following conditions:MaximizeΣ_(dϵD) x _(d)−αΣ_(bϵB) y _(b), where α>0  (8)subject to x_(d)ϵ{0,n_(d)}∀dϵD  (9)y_(b)ϵ{0,Σ_(rϵR:rϵb)m_(r)}∀dϵD  (10)z_(st)ϵ{0,Σ_(rER)m_(r)}∀sϵS,tϵT  (11)z_(st)=Σ_({bϵB|sϵr,rϵb,t−v) ⁻¹ _(d) _(r)_((r(1),s)ϵb})y_(b)∀sϵS,tϵT  (12)Σ_({bϵB:rϵb,t) _(b) _(≤t≤t) _(b) _(+RTT(r) where t) _(b)_(ϵb})y_(b)≤m_(r)∀tϵT,∀rϵR  (13)Σ_({dϵD:∃rϵR such that (s) _(d) _(,s,e) _(d) _()ϵr,t=t) _(d) _(+v) ⁻¹_(d) _(r) _((s) _(d,s)}x) _(d) ≤c*z _(st) ∀sϵS,tϵT  (14)

In an embodiment, the schedule generation unit 210 may determine asolution for the ILP problems specified by equation (1) and equation(8), subject to the set of constraints of equations (2)-(7) and(9)-(14), respectively, using any ILP solving technique known in theart. The solution to the ILP problem may be deterministic of the countof vehicles from the one or more vehicles that may be dispatched at theone or more time instants from the first station of the first route,i.e., the dispatch schedule, such that the one or more performancemetrics are optimized.

A person having ordinary skill in the art will understand that theabovementioned exemplary implementations are for illustrative purposeand should not be construed to limit the scope of the disclosure.

In an embodiment, the schedule generation unit 210 may be configured tostore the dispatch schedule in the database server 102 over the network.For example, Table 2 illustrates a dispatch schedule generated by theschedule generation unit 210 for a first route (e.g.,NODE_1->NODE_2->NODE_3->NODE_1) with a round trip time of “3 hours”. Thecount of the one or more vehicles (e.g., V_1, V_2, V_3, V_4, V_5, V_6,V_7, V_8, V_9, and V_10) may be 10.

TABLE 2 A dispatch schedule for managing the dispatch of the vehiclesfrom the one or more vehicles at the one or more time instants from thefirst station of the first route. Time instant of dispatch Vehicle idCount Time instant (as per 12 Capacity Count of of the of the of returnof hour clock) First of each vehicles dispatched remaining dispatched(HH:MM) demand vehicle dispatched vehicles vehicles vehicles 8:00 AM 3010 3 V_1, V_2, 10 − 3 = 7 11:00 AM V_3 10:00 AM 38 10 4 V_4, V_5,  7 − 4= 3 1:00 PM V_6, V_7 12:00 AM 45 10 5 V_8, V_9, (3 + 3) − 5 = 1 3:00 PMV_10, V_1, V_2 2:00 PM 29 10 3 V_3, V_4, (1 + 4) − 3 = 2 5:00 PM V_54:00 PM 48 10 5 V_6, V_7, (2 + 5) − 5 = 2 7:00 PM V_8, V_9, V_10 6:00 PM49 10 5 V_1, V_2, (2 + 3) − 5 = 0 9:00 PM V_3, V_4, V_5

With reference to Table 2, the schedule generation unit 210 may generatethe dispatch schedule based on the first demand at each of the one ormore time instants (e.g., “8:00 AM,” “10:00 AM,” “12:00 PM,” “2:00 PM,”“4:00 PM,” and “6:00 PM”) for the first route. The schedule generationunit 210 may determine the count of the remaining vehicles based on thecount of vehicles dispatched and a count of vehicles that returned aftercompleting the trip on the first route. For example, the schedulegeneration unit 210 may determine that at time instant “2:00 PM,” fourvehicles that were dispatched at “10:00 PM” will return from the tripand might be available for dispatch at “2:00 PM”. Therefore, the countof remaining vehicles at “2:00 PM” may be determined as “2,” (i.e.,{(the count of vehicles remaining at “12:00 PM”)+(the count of vehiclesreturned that were dispatched at “10:00 AM”)−(the count of vehicles aredispatched at “2:00 PM”)}).

A person having ordinary skill in the art will understand that theabovementioned example is for illustrative purpose and should not beconstrued to limit the scope of the disclosure.

At step 308, a counter variable is initialized for the current timeinstant from the one or more time instants. In an embodiment, theprocessor 202 may be configured to initialize the counter variable(i.e., N=1) for the current time instant from the one or more timeinstants and proceed to step 310. In an embodiment, the processor 202may be configured to determine a count of the one or more time instants(i.e., “m”) associated with a day. For example, the service provider maywant to dispatch the one or more vehicles after every two hours betweena time duration (e.g., “8:00 AM” to “6:00 PM”). In this scenario, theprocessor 202 may determine the count of the one or more time instants(e.g., “8:00 AM,” “10:00 AM,” “12:00 PM,” “2:00 PM,” “4:00 PM,” and“6:00 PM”) as six (i.e., M=6).

At step 310, the second demand for the one or more vehicles is predictedat each of the one or more stations of the first route, at the one ormore time instants subsequent to the current time instant. In anembodiment, the demand processing unit 208 may predict the second demandfor the one or more vehicles at each of the one or more stations of thefirst route at the time instants subsequent to the current time instant.In an embodiment, the demand processing unit 208 may be configured topredict the second demand based on the current demand.

To predict the second demand, the demand processing unit 208 may beconfigured to receive the current demand from the one or more sensorsinstalled at the one or more stations of the first route. The currentdemand may correspond to a third count of the one or more users, suchthat the third count of the one or more users are scheduled to commutealong the first route or a part of the first route at the current timeinstant. In an embodiment, a user may board the vehicle from the firststation of the first route. In another embodiment, another user mayboard the dispatched vehicles from an intermediate station of the firstroute. Thus, the demand processing unit 208 may be configured todetermine the current demand corresponding to each station in the firstroute. For example, ten users may raise a travel request for travellingbetween “NODE_1” and “NODE_3” at the current time instant, and fiveusers may raise a travel request for travelling between “NODE_2” and“NODE_3” at the current time instant. In this scenario, the demandprocessing unit 208 may determine the current demand as fifteen users.

In an embodiment, the current demand may be associated with the one ormore pre-booked travel requests and the one or more real time travelrequests corresponding to the current time instant. In an embodiment,the demand processing unit 208 may be configured to receive the one ormore pre-booked travel requests at least before the first pre-definedtime period prior to a date of travel. Further, in an embodiment, thedemand processing unit 208 may be configured to receive the one or morereal time travel requests at least before the second pre-defined timeperiod prior to the current time instant. In an embodiment, the demandprocessing unit 208 may be configured to query the database server 102to extract the one or more pre-booked travel requests and the one ormore real time travel requests.

In an embodiment, the demand processing unit 208 may associate the oneor more real time travel requests with a time instant temporallysubsequent to the current time instant, if the one or more real timetravel requests are raised, when the second pre-defined time periodassociated with the current time instant has lapsed. For example, asecond pre-defined time period associated with the current time instant(e.g., “10:00 AM”) may be “1 hour and 50 minutes”. Thus, the real timetravel requests raised during “8:00 AM” to “9:50 AM” are the one or morereal time requests for the current time instant (i.e., “10:00 AM”). Inthis scenario, travel requests that are raised after “9:50 AM” areassociated with the current demand at the time instant (i.e., “12:00PM”) temporally subsequent to the current time instant.

In another embodiment, the demand processing unit 208 may be furtherconfigured to determine the current demand based on an unrealized demandassociated with the time instant temporally prior to the current timeinstant. In an embodiment, the unrealized demand may be associated witha set of second users, such that demand of the set of second users wasnot met at the time instant temporally prior to the current timeinstant. For example, if demand at the time instant temporally prior tothe current time instant was not met due to lack of resources (i.e.,less capacity in the vehicles dispatched compared with the demand), theunmet demand may correspond to the unrealized demand. Further, thedemand processing unit 208 may associate the unrealized demand with thecurrent demand at the current time instant. Thereafter, based on thecurrent demand (i.e., the third count of the one or more users and theset of second users) at the current time instant (i.e., t_(c).), thedemand processing unit 208 may predict the second demand. For example, auser may have raised a travel request for a vehicle at a time t_(r)(i.e., t_(r)<t_(c)) to commute from a first station to a second stationalong a first route. Due to lack of resources, the travel request of theuser may not be served at the time instant t_(r). In such a case, thetravel request may correspond to the unrealized demand at t_(r).Further, the travel request of the user may be associated with thecurrent time t_(c). Thus, the travel request may correspond to thecurrent demand at t_(c).

In an embodiment, the one or more users may specify the tolerance time,when the travel request is raised by utilizing the commuter-computingdevice 108. The tolerance time associated with the travel request ofeach of the one or more users may be indicative of a time duration up towhich a user may further wait for the vehicle on the source station, ifthe travel request is not served at the time of request. In such a case,if the travel request of the user is not served after the tolerance timehas expired the travel request may not correspond to the current demand.In an embodiment, a user may raise a travel request for a vehicle at atime t_(r) for a travel from a first station to a second station along afirst route. A tolerance time associated with the travel request ist_(d). In such a case, the user may wait for the vehicle untilt_(r)+t_(d). Thus, the travel request may be served at any time betweent_(r) and t_(r)+t_(d), but not before t_(r) or after t_(r)+t_(d).Therefore, the travel request may not correspond to the current demandat the current time instant after t_(r)+t_(d).

For example, a user may raise a travel request for commuting between twostations. The time of travel as requested by the user is “2:00 PM” andthe tolerance time specified by the user is “45 minutes”. In thisscenario, the user may wait up to “2:45 PM” for the travel request to beserved. Therefore, if there is no scheduled dispatch of the vehiclesafter “2:00 PM” and prior to “2:45 PM,” the user may leave the sourcestation. In such a scenario, the unmet demand of the corresponding usermay not be associated with the current demand at a time instant after“2:45 PM.”

A person having ordinary skill in the art will understand that theabovementioned example is for illustrative purpose and should not beconstrued to limit the scope of the disclosure.

In an embodiment, the demand processing unit 208 may utilize one or moredata prediction techniques for the prediction of the second demand, suchas but not limited to, logistic regression algorithm, and predictivemodelling algorithm. In an embodiment, the second demand may beassociated with a fourth count of the one or more users, which arepredicted to commute along the first route at each of the one or moretime instants (e.g., “12:00 PM,” “2:00 PM,” “4:00 PM,” and “6:00 PM”)subsequent to the current time instant (e.g., “10:00 AM”). Further, theschedule generation unit 210 may be configured to generate a newdispatch schedule based on the second demand. In an embodiment, the newdispatch schedule is generated for the current time instant and the timeinstants temporally subsequent to the current time instant. Thereafter,the schedule generation unit 210 may utilize the current demand, thesecond demand and a count of remaining vehicles at the current timeinstant to generate the new dispatch schedule at the current timeinstant. The new dispatch schedule comprises a new count of vehiclesfrom the one or more vehicles to be dispatched from the first station ofthe first route at the current time instant and each of the timeinstants temporally subsequent to the current time instant.

In an embodiment, the schedule generation unit 210 may utilize one ormore techniques for the generation of the new dispatch schedule, suchas, but not limited to, Model predictive control (MPC) technique. In anembodiment, the schedule generation unit 210 may formulate an optimalcontrol problem for MPC technique to determine the new count of vehiclesfrom the one or more vehicles to be dispatched at the current timeinstant and the time instant temporally subsequent to the current timeinstant. In an alternate embodiment, the schedule generation unit 210may solve the formulated optimal control problem using ILP technique.The schedule generation unit 210 may formulate the optimal controlproblem in such a manner that the one or more performance metrics areoptimized. The optimization of the one or more performance metrics maycomprise maximizing the demand served by the one or more vehicles,minimizing the count of vehicles dispatched from the one or morevehicles, minimizing the count of trips made by the one or more vehiclesalong the first route, maximizing the revenue generated and/orminimizing the average user waiting time.

In an exemplary implementation, the schedule generation unit 210 mayformulate an optimal control problem for the generation of the newdispatch schedule using the following conditions:Y*_(t)(N(t))ϵmin_(y) _(t) _(ϵY) _(H) _(t)Σ_(K=0) ^(H) ^(t)⁻¹q(N_(t+k),y_(t+k))  (15)subject to N _(t) =N(t)  (16)N_(t+k)ϵN  (17)y_(t+k)ϵY  (18)Y_(t)=[y_(t),y_(t+1),y_(t+2), . . . , y_(t+H) _(t) ⁻¹]  (19)where,

N(t): represents an initial condition of the optimal control problem,such that the initial condition corresponds to a set comprising aninitial demand (i.e., N_(D)(t)) at the current time instant (t) and theone or more vehicles available at the current time instant for dispatch(i.e., m_(r):rϵR). The initial demand may further comprise the currentdemand at “t” and the second demand for the time instants temporallysubsequent to “t”, i.e., “t+1”, “t+2”, and so on, predicted at “t”,

Y_(t): represents the dispatch schedule corresponding to the currenttime instant and the time instants temporally subsequent to the currenttime instant (t), such that Y_(t) may comprise a union of the firstdemand for time instants subsequent to the current time instant (t)(i.e., {x_(d)}_({t) _(d) _(>t:dϵD})), and the count of vehicles from theone or more vehicles that are scheduled to be dispatched at the timeinstants temporally subsequent to “t” (i.e., {y_(b)}_({t) _(b)_(≥t,bϵB})),

q( ): represents a performance metrics that may be optimized by the newdispatch schedule, and

Y*_(t): represents the new dispatch schedule generated at the currenttime instant (t), such that Y*_(t) comprises the new count of thevehicles from the one or more vehicles that are to be dispatched at thecurrent time instant and the time instants temporally subsequent to thecurrent time instant.

In an alternate exemplary implementation, the schedule generation unit210 may utilize equations (1)-(7) for the generation of the new dispatchschedule by incorporating following additional constraints:x _(d)=min(x _(d)(t−1),n _(d)(t))∀dϵD,t _(d) <t  (20)y _(b) =y _(b)(t−1)∀bϵB,t _(b) <t  (21)n _(d)(t)=n _(d)(t)+max(n _(d)(t−1)−x _(d)(t−1),0)  (22)where,

n_(d)(t): represents the current demand at the current time instant (t)and the unrealized demand at the time instant temporally prior to thecurrent time instant.

In an embodiment, the schedule generation unit 210 may be configured tostore the new dispatch schedule in the database server 102 over thenetwork.

For example, Table 3 illustrates a new dispatch schedule generated bythe schedule generation unit 210 for a first route (e.g.,NODE_1->NODE_2->NODE_3->NODE_1) with a round trip time of “3 hours”. Thecount of the one or more vehicles (e.g., V_1, V_2, V_3, V_4, V_5, V_6,V_7, V_8, V_9, and V_10) may be 10.

TABLE 3 A new dispatch schedule for managing the dispatch of thevehicles from the one or more vehicles at the current time instant andthe time instants subsequent to the current time instant from the firststation of the first route. Time instant of return of Time instantdispatched of dispatch Vehicle id Count vehicles (as per 12- CapacityCount of of the of the (as per 12- hour clock) of each vehiclesdispatched remaining hour clock) (HH:MM) Demand vehicle dispatchedvehicles vehicles (HH:MM) 10:00 AM 29 10 3 V_4, V_5, 7 − 3 = 4 1:00 PM(current time (current V_6 instant) demand) 12:00 PM 38 10 4 V_7, V_8,(4 + 3) − 4 = 3 3:00 PM (second V_9, V_10 demand) 2:00 PM 23 10 3 V_1,V_2, (3 + 3) − 3 = 3 5:00 PM (second V_3 demand) 4:00 PM 39 10 4 V_4,V_5, (4 + 3) − 4 = 3 7:00 PM (second V_6, V_7 demand) 6:00 PM 67 10 6V_8, V_9, (3 + 3) − 6 = 0 9:00 PM (second V_10, V_1, demand) V_2

With reference to Table 2 and Table 3, the demand processing unit 208may receive the current demand (i.e., 29) at the current time instant(i.e., “10:00 AM”). Further, at the time instant prior to the currenttime instant (i.e., “8:00 AM”) three vehicles were dispatched from thefirst station of the first route. Comparing the predicted first demand(i.e., 38) at “10:00 AM” and the current demand (i.e., 29) at “10:00AM”, the schedule generation unit 210 may determine a new count of thevehicles to be dispatched from the first station of the first route atthe current time instant (i.e., 3). Further, based on the second demandpredicted for the time instant temporally subsequent to the current timeinstant the new count of the vehicles to be dispatched may bedetermined. At “6:00 PM,” as illustrated in Table 3, the predictedsecond demand is more than the capacity of the available vehicles.Therefore, a portion of the second demand corresponding to “6:00 PM” maybe unmet (i.e., (67−(10*6))=7), (i.e., the set of second users).

A person having ordinary skill in the art will understand that the abovementioned exemplary techniques are for illustrative purposes and shouldnot be construed to limit the scope of the disclosure.

At step 312, the dispatch schedule is updated by varying the count ofvehicles to be dispatched from the first station of the first route. Inan embodiment, the schedule generation unit 210 may be configured toupdate the dispatch schedule by varying the count of vehicles to bedispatched from the first station. In an embodiment, the dispatchschedule is updated based on the current demand, the second demand andthe count of the one or more vehicles. In an embodiment, the schedulegeneration unit 210 may utilize the new dispatch schedule, i.e.,generated based on the current demand, the second demand and the countof the one or more vehicles, to update the dispatch schedule to dispatchthe vehicles from the one or more vehicles at the current time instant.In an embodiment, the schedule generation unit 210 may only update thedispatch schedule corresponding to the current time instant.

In an embodiment, the count of the remaining vehicles prior to thedispatch of the vehicles at the current time instant may be zero. Inthis scenario, no vehicle may be dispatched at the current time instant.Further, the transceiver 206 may transmit the second notification to theone or more users associated with current time instant, displaying amessage such as “No scheduled departure at “10:00 AM.” In an embodiment,the processor 202 may be configured to identify one or more timeinstants, when no vehicle is available for dispatch. Further, theprocessor 202 may be configured to update a log of records, comprising acount of the one or more time instants (when no vehicle is available fordispatch), stored in the database server 102. Further, the processor 202may compare the count of one or more time instants in the log of recordsto a predefined threshold (i.e., specified by the service provider). Theprocessor 202 may be configured to refresh the count of the one or moretime instants in the log of record after a third predefined timeinterval (e.g., after every 10 days). In an embodiment, when the countof the one or more time instants in the log of records exceed thepredefined threshold, the transceiver 206 may transmit a thirdnotification to the service provider associated with the agent computingdevice (not shown). In an embodiment, the third notification maycomprise a recommendation message to increase the count of the one ormore vehicles to cater the unrealized demand. Further, the thirdnotification may also comprise a report comprising informationpertaining to loss of revenue that occurred due to the unavailability ofresources (i.e., the one or more vehicles).

For example, with reference to Table 2 and Table 3, the schedulegeneration unit 210 may update the dispatch schedule for the currenttime instant, such that the schedule generation unit 210 may vary thecount of the vehicles in the dispatch schedule (i.e., from 4 vehicles to3 vehicles). Table 4 illustrates the updated dispatch schedule at thecurrent time instant.

TABLE 4 An updated dispatch schedule for managing the dispatch of thevehicles from the one or more vehicles at the current time instant fromthe first station of the first route. Time instant of return of Timeinstant dispatched of dispatch Vehicle id Count vehicles (as per 12-Capacity Count of of the of the (as per 12- hor clock) of each vehiclesdispatched remaining hor clock) (HH:MM) Demand vehicle dispatchedvehicles vehicles (HH:MM) 10:00 AM 29 10 3 V_4, V_5, 7 − 3 = 4 1:00 PM(current time (current V_6 instant) demand) 12:00 PM 45 10 5 V_7, V_8,(4 + 3) − 5 = 2 3:00 PM (first V_9, V_10, demand) V_1 2:00 PM 29 10 3V_2, V_3, (2 + 3) − 3 = 2 5:00 PM (first V_4 demand) 4:00 PM 48 10 5V_5, V_6, (5 + 2) − 4 = 3 7:00 PM (first V_7, V_8, demand) v-9 6:00 PM49 10 5 V_10, V_1, (3 + 3) − 5 = 1 9:00 PM (first V_2, V_3, demand) V_4

A person having ordinary skill in the art will understand that theabovementioned example is for illustrative purpose and should not beconstrued to limit the scope of the disclosure.

A step 314, the first notification is transmitted to thevehicle-computing device 106 installed in each of the one or morevehicles. In an embodiment, the transceiver 206 may be configured totransmit the first notification to the vehicle-computing device 106installed in each of the one or more vehicles. In an embodiment, thefirst notification may comprise information pertaining to the vehiclesfrom the one or more vehicles that are scheduled to dispatch from thefirst station at the current time instant. Further, on the reception ofthe first notification, the corresponding vehicles from the one or morevehicles may be dispatched from the first station of the first route atthe current time instant.

In an embodiment, the transceiver 206 may be further configured totransmit the second notification to the user-computing device 108associated with each of the third count of the one or more users, whichare scheduled to commute on the first route at the current time instant.In an embodiment, the second notification may comprise informationpertaining to the vehicles from the one or more vehicles that arescheduled to dispatch from the first station at the current time instantbased on the updated dispatch schedule. In an embodiment, the secondnotification may comprise a vehicle identification of each of thecorresponding vehicle, a time associated with the dispatch of thevehicles, and a capacity of each of the vehicles to be dispatched.

In another embodiment, the second notification may also comprise a seatnumber of the corresponding vehicle, allotted to a user based on theupdated dispatch schedule. An exemplary GUI of the second notificationis described later in FIG. 5. In an embodiment, the processor 202 may befurther configured to increment the counter variable (i.e., t=t+1).

A person having ordinary skill in the art will understand that the scopeof the disclosure is not limited to the second notification comprisingthe information pertaining to the vehicles to be dispatched.

At step 316, a check is performed to determine a status of a value ofthe counter variable. In an embodiment, the processor 202 may beconfigured to perform a check to determine the status of the value ofthe counter variable. In an embodiment, if the processor 202 determinesthat the value of the counter variable is less than or equal to thecount of the one or more time instants (i.e., “M”), step 310 isperformed. Further, if the processor 202 determines that the value ofthe counter variable is greater than the count of the one or more timeinstants (i.e., “M”), step 318 is performed. The method ends at step318.

FIG. 4 is a block diagram that illustrates an exemplary GUI presented onan exemplary vehicle-computing device, when the first notification,comprising the updated dispatch schedule, is transmitted, in accordancewith at least one embodiment. FIG. 4 is explained in conjunction withFIGS. 1-3.

In an embodiment, the exemplary GUI, such as the GUI 400, may correspondto the first notification transmitted by the transceiver 206 to anexemplary vehicle computing device, such as the vehicle-computing device106, associated with each of the one or more vehicles. To view the firstnotification, the operator associated with the corresponding vehicle maybe required to login by providing an “OPERATOR ID” and a “PASSWORD” ininput boxes 402 and 404, respectively.

After the login, the operator may be presented with the firstnotification 406. The first notification 406 may comprise a firstsection 408 and a second section 410. The first section 408 may displaya vehicle identification, such as “VEHICLE ID: V_1”, of the vehicleassociated with the corresponding vehicle-computing device 106. Thesecond section 410 may comprise a “SCHEDULE” tab 410A, a “SEATASSIGNMENT” tab 4106, and a “ROUTE INFORMATION” tab 410C.

In an embodiment, the operator may click on the “SCHEDULE” tab 410A toview the updated dispatch schedule 412 associated with the correspondingvehicle “V_1”. The updated dispatch schedule 412 may display the currenttime instant at which the vehicle “V_1” is scheduled to dispatch. Theupdated dispatch schedule 412 may comprise details of station names,(depicted by a first column 412A), to be traversed by the vehicle “V_1.”The updated dispatch schedule 412 may further comprise detailspertaining to an arrival time (depicted by a second column 4128) and adeparture time (depicted by a third column 412C) of the vehicle “V_1” ateach of the one or more stations along the first route. The updateddispatch schedule 412 may further comprise “TOTAL TRIP TIME” (depictedby a section 412D) associated with the first route.

In an embodiment, the operator may click on the “SEAT ASSIGNMENT” tab410B to view a “SEAT ASSIGNMENT CHART” 414 associated with thecorresponding vehicle “V_1.” The “SEAT ASSIGNMENT CHART” 414 may displaya seat assignment list of the corresponding vehicle “V_1” comprising a“USER ID” (depicted by a first column 414A) and a “SEAT NUMBER”(depicted by a second column 414B) assigned to the corresponding user,such as “USER_1,” “USER_2,” “USER_3,” and “USER_4.”

In an embodiment, the operator may click on the “ROUTE INFORMATION” tab410C to view the “ROUTE INFORMATION” 416 on which the correspondingvehicle “V_1” is to be dispatched at the current time instant. Further,the route information 416 may comprise a geographical map of the firstroute (depicted by a first section 416A) and a trip time (depicted by asecond section 416B) associated with the first route. For example, thevehicle “V_1” may be scheduled to ply on a first route (e.g.,NODE_1->NODE_2->NODE_3->NODE_1) and the trip time associated with thefirst route is three hours. In this scenario, the route information 416may display the geographical map of the first route (i.e.,NODE_1->NODE_2->NODE_3->NODE_1) (depicted by the first section 416A) andthe trip time of three hours (depicted by the second section 416B).

A person having ordinary skill in the art will understand that theabovementioned GUI 400 is for illustrative purposes and should not beconstrued to limit the scope of the disclosure. In an embodiment, the“SEAT ASSIGNMENT” tab 410B may not be available, when the seat allotmentto the one or more users is not fixed.

FIG. 5 is a block diagram that illustrates another exemplary GraphicalUser-interface (GUI) that may be presented on an exemplaryuser-computing device, when a second notification associated with theupdated dispatch schedule, is transmitted, in accordance with at leastone embodiment. FIG. 5 is explained in conjunction with FIGS. 1-3.

In an embodiment, the exemplary GUI, such as the GUI 500, may beassociated with the second notification transmitted to the exemplaryuser-computing device, such as the user-computing device 108, associatedwith each of the one or more users. To view the second notification, theuser associated with the corresponding user-computing device 108 may berequired to login by providing a “USER ID” and a “PASSWORD” in inputboxes 502 and 504, respectively.

After the login, the user may be presented with the second notification506. The second notification 506 may comprise a first section 508 and asecond section 510. The first section 508 may comprise a “USER ID”associated with the user, such as “USER_1”. The second section 510 maycomprise a “SCHEDULE” tab 510A, a “SEAT ASSIGNMENT” tab 510B, and a“ROUTE INFORMATION” tab 510C.

In an embodiment, the user may click on the “SCHEDULE” tab 510A to viewa dispatch schedule 512 associated with the dispatch of the one or morevehicles. The “SCHEDULE” 512 may comprise information pertaining to thevehicle-id of each of the vehicles (depicted by a first column 512A) andthe capacity of each of the vehicles (depicted by a second column 512B)that may be scheduled to dispatch from the source station (i.e.,specified by the user in the corresponding travel request).

In an embodiment, the user may click on the seat assignment tab 510B toview a “SEAT ASSIGNMENT CHART” 514 associated with the user. The “SEATASSIGNMENT CHART” 514 may comprise the “USER ID” (depicted by a firstcolumn 514A) of the corresponding user, a “SEAT NUMBER” (depicted by athird column 514C) assigned to the user in a vehicle (depicted by secondcolumn 514B) among the vehicles scheduled to be dispatched.

In an embodiment, the user may click on the “ROUTE INFORMATION” tab 510Cto view information 516 pertaining to the route associated with thetravel request of the corresponding user. The information pertaining tothe route 516 may comprise a geographical map 516A of the correspondingroute and a trip time (depicted by a section 516B) associated with theroute. For example, a user may raise a travel request to commute betweena first station (e.g., “NODE_1”) and a second station (e.g., “NODE_3”).Further, the user may be allotted a seat (e.g., “S-1”) in a vehicle thatmay be scheduled to ply on a first route (e.g.,“NODE_1->NODE_2->NODE_3->NODE_1”) with the trip time of three hours. Inthis scenario, the route information (depicted by 516) may display apart of the geographical map 516A of the first route (i.e.,NODE_1->NODE_2->NODE_3->NODE_1) and a part of the trip time (e.g., 2hours and 15 minutes) (depicted by the section 516B) and/or a timestampassociated with the part of the trip based on the travel request of theuser. Further, the route information 516 may present the user a statusof a real time location (depicted by a pointer 516C) of the vehicle,after the vehicle has been dispatched, based on the real time locationinformation received from the navigation device, installed in thevehicle, comprising GPS sensors.

A person having ordinary skill in the art will understand that theabovementioned GUI 500 is for illustrative purposes and should not beconstrued to limit the scope of the disclosure. In an embodiment, the“SEAT ASSIGNMENT” tab 5108 may not be available, when the seat allotmentto the one or more users is not fixed.

FIG. 6 is a block diagram that illustrates an exemplary GraphicalUser-Interface (GUI) presented on an exemplary user-computing device forraising a travel request, in accordance with at least one embodiment.FIG. 6 is explained in conjunction with FIGS. 1-3.

The exemplary GUI, such as a GUI 600, may be displayed on a displayscreen of an exemplary commuter-computing device, such as theuser-computing device 108, associated with each of the one or moreusers. A user from the one or more users may be required to log into atransportation platform by inputting his/her credentials, such as “USERID” and “PASSWORD.” In an embodiment, the transportation platform may beassociated with the service provider of the one or more vehiclesassociated with a transportation agency. The processor 202 may presentthe GUI 600 on the user-computing device 108, when the user has loggedin.

In an embodiment, the GUI 600 may comprise a travel request window 602.The travel request window 602 may comprise a “SOURCE STATION” tab 604that may be clicked by the user to input the source station. Further,the user may click on another tab, such as a “DESTINATION STATION” tab606, to input the destination station. Thereafter, the user may click onanother tab, such as a “TIME AND DAY OF TRAVEL” tab 608, to input thetime and the day of travel. Further, the user may click on another tab,such as a “TOLERANCE TIME” tab 610, to input the tolerance timeassociated with his/her travel request. Thereafter, the user may submitthe travel request by clicking on a “SUBMIT” tab 612. After submittingthe travel request, the user may receive the second notificationindicative of the dispatch schedule of the dispatch of the vehicles.

The disclosed embodiments encompass numerous advantages. The disclosureprovides a method and a system to generate a dispatch schedule formanaging a dispatch of one or more vehicles along a route at one or moretime instants. The disclosed methods and systems utilize a first demandfor the one or more vehicles to generate a dispatch schedule formanaging the dispatch of the vehicles at the one or more time instants,such that the first demand may be predicted based on historical demand.The dispatch schedule comprises a count of the vehicles from the one ormore vehicles that are to be dispatched along the route at the one ormore time instants. Further, the disclosed system and method dynamicallyupdate the generated dispatch schedule based on a current demand and asecond demand, such that the second demand may be predicted based on thecurrent demand. The updated dispatch schedule at a current time instantresolves a problem of unrealized demand associated with a temporallyprior time instant. Further, the updated dispatch schedule may not alterthe route of the one or more vehicles that are already dispatched. Thedisclosed method and the system dynamically update the dispatch scheduleby optimizing one or more performance metrics specified by the serviceprovider. The disclosed method and the system minimize resourcemisallocation by applying a feedback control over demand determinationand prediction. The disclosed method and the system may be utilized byany transportation service provider, such as, but not limited to, a busservice provider, a train service provider, and a metro service providerto meet the public demand for the one or more vehicles.

The disclosed methods and systems, as illustrated in the ongoingdescription or any of its components, may be embodied in the form of acomputer system. Typical examples of a computer system include ageneral-purpose computer, a programmed microprocessor, amicro-controller, a peripheral integrated circuit element, and otherdevices, or arrangements of devices that are capable of implementing thesteps that constitute the method of the disclosure.

The computer system comprises a computer, an input device, a displayunit, and the internet. The computer further comprises a microprocessor.The microprocessor is connected to a communication bus. The computeralso includes a memory. The memory may be RAM or ROM. The computersystem further comprises a storage device, which may be a HDD or aremovable storage drive such as a floppy-disk drive, an optical-diskdrive, and the like. The storage device may also be a means for loadingcomputer programs or other instructions onto the computer system. Thecomputer system also includes a communication unit. The communicationunit allows the computer to connect to other databases and the internetthrough an input/output (I/O) interface, allowing the transfer as wellas reception of data from other sources. The communication unit mayinclude a modem, an Ethernet card, or other similar devices that enablethe computer system to connect to databases and networks, such as, LAN,MAN, WAN, and the internet. The computer system facilitates input from auser through input devices accessible to the system through the I/Ointerface.

To process input data, the computer system executes a set ofinstructions stored in one or more storage elements. The storageelements may also hold data or other information, as desired. Thestorage element may be in the form of an information source or aphysical memory element present in the processing machine.

The programmable or computer-readable instructions may include variouscommands that instruct the processing machine to perform specific tasks,such as steps that constitute the method of the disclosure. The systemsand methods described can also be implemented using only softwareprogramming or only hardware, or using a varying combination of the twotechniques. The disclosure is independent of the programming languageand the operating system used in the computers. The instructions for thedisclosure can be written in all programming languages, including, butnot limited to, ‘C’, ‘C++’, ‘Visual C++’ and ‘Visual Basic’. Further,software may be in the form of a collection of separate programs, aprogram module containing a larger program, or a portion of a programmodule, as discussed in the ongoing description. The software may alsoinclude modular programming in the form of object-oriented programming.The processing of input data by the processing machine may be inresponse to user commands, the results of previous processing, or from arequest made by another processing machine. The disclosure can also beimplemented in various operating systems and platforms, including, butnot limited to, ‘Unix’, DOS′, ‘Android’, ‘Symbian’, and ‘Linux’.

The programmable instructions can be stored and transmitted on acomputer-readable medium. The disclosure can also be embodied in acomputer program product comprising a computer-readable medium, or withany product capable of implementing the above methods and systems, orthe numerous possible variations thereof.

Various embodiments of the methods and systems for managing a dispatchof one or more vehicles on a route have been disclosed. However, itshould be apparent to those skilled in the art that modifications inaddition to those described are possible without departing from theinventive concepts herein. The embodiments, therefore, are notrestrictive, except in the spirit of the disclosure. Moreover, ininterpreting the disclosure, all terms should be understood in thebroadest possible manner consistent with the context. In particular, theterms “comprises” and “comprising” should be interpreted as referring toelements, components, or steps, in a non-exclusive manner, indicatingthat the referenced elements, components, or steps may be present, orused, or combined with other elements, components, or steps that are notexpressly referenced.

A person with ordinary skills in the art will appreciate that thesystems, modules, and sub-modules have been illustrated and explained toserve as examples and should not be considered limiting in any manner.It will be further appreciated that the variants of the above disclosedsystem elements, modules, and other features and functions, oralternatives thereof, may be combined to create other different systemsor applications.

Those skilled in the art will appreciate that any of the aforementionedsteps and/or system modules may be suitably replaced, reordered, orremoved, and additional steps and/or system modules may be inserted,depending on the needs of a particular application. In addition, thesystems of the aforementioned embodiments may be implemented using awide variety of suitable processes and system modules, and are notlimited to any particular computer hardware, software, middleware,firmware, microcode, and the like.

The claims can encompass embodiments for hardware and software, or acombination thereof.

It will be appreciated that variants of the above disclosed, and otherfeatures and functions or alternatives thereof, may be combined intomany other different systems or applications. Presently unforeseen orunanticipated alternatives, modifications, variations, or improvementstherein may be subsequently made by those skilled in the art, which arealso intended to be encompassed by the following claims.

What is claimed is:
 1. A method for managing a dispatch of vehiclesbased on generation of a dispatch schedule, the method comprising:generating, by one or more processors, a dispatch schedule for one ormore vehicles at one or more time instants based on a first demand forthe one or more vehicles at one or more stations in a route and a countof the one or more vehicles, wherein the dispatch schedule comprises atleast a count of vehicles, from the one or more vehicles, to bedispatched from a first station of the one or more stations at thecorresponding time instant; at a current time instant of the one or moretime instants: predicting, by the one or more processors, a seconddemand for the one or more vehicles at each of the one or more stations,at the one or more time instants subsequent to the current time instant,based on a current demand received from one or more sensors at each ofthe one or more stations; updating, by the one or more processors, thedispatch schedule by varying the count of vehicles, from the one or morevehicles, to be dispatched from the first station based at least on thesecond demand and the count of the one or more vehicles; andtransmitting, by one or more transceivers, a notification to a computingdevice installed in each of the one or more vehicles, wherein thenotification comprises an updated dispatch schedule for thecorresponding vehicle, wherein each of the one or more vehicledispatches from the first station based on the updated dispatchschedule.
 2. The method of claim 1, further comprising determining, bythe one or more processors, a historical demand for the one or morevehicles, associated with a first count of one or more users, such thatthe first count of the one or more users commuted along the route ateach of one or more other time instants, wherein the one or more othertime instants are temporally prior to the one or more time instants. 3.The method of claim 2, wherein the first demand is associated with asecond count of one or more users, wherein the second count of the oneor more users is predicted to commute along the route based on thehistorical demand.
 4. The method of claim 1, wherein the current demandat the current time instant is associated with a third count of one ormore users, wherein the third count of the one or more users isscheduled to commute along the route at the current time instant.
 5. Themethod of claim 4, wherein the second demand at time instants subsequentto the current time instant is associated with a fourth count of the oneor more users, where in the fourth count of the one or more users ispredicted to commute along the route at the corresponding time instantbased on the current demand.
 6. The method of claim 1, wherein theupdate of the dispatch schedule is further based on at least anunrealized demand or one or more performance metrics associated with aservice provider of the one or more vehicles.
 7. The method of claim 6,wherein a realized demand is associated with a set of first users fromthe one or more users, wherein the unrealized demand is associated witha set of second users from the one or more users such that a demand ofthe set of second users was unmet at a time instant prior to the currenttime instant.
 8. The method of claim 6, wherein the one or moreperformance metrics comprise at least a demand served by the one or morevehicles, a count of vehicles dispatched from the one or more vehicles,a count of trips made by the one or more vehicles along the route or anaverage user waiting time.
 9. The method of claim 8, wherein the demandserved by the one or more vehicles is based on the count of vehiclesdispatched and a capacity of each of the one or more vehiclesdispatched.
 10. A system for managing a dispatch of vehicles based ongeneration of a dispatch schedule, the system comprising: one or moreprocessors configured to: generate a dispatch schedule for one or morevehicles at one or more time instants based on a first demand for theone or more vehicles at one or more stations in a route and a count ofthe one or more vehicles, wherein the dispatch schedule comprises atleast a count of vehicles, from the one or more vehicles, to bedispatched from a first station of the one or more stations at thecorresponding time instant; at a current time instant of the one or moretime instants: predict a second demand for the one or more vehicles ateach of the one or more stations, at the one or more time instantssubsequent to the current time instant, based on a current demandreceived from one or more sensors at each of the one or more stations;update the dispatch schedule by varying the count of vehicles, from theone or more vehicles, to be dispatched from the first station based atleast on the second demand and the count of the one or more vehicles;and transmit a notification to a computing device installed in each ofthe one or more vehicles, wherein the notification comprises an updateddispatch schedule for the corresponding vehicle, wherein each of the oneor more vehicle dispatches from the first station based on the updateddispatch schedule.
 11. The system of claim 10, wherein the one or moreprocessors are further configured to determine a historical demand, forthe one or more vehicles, associated with a first count of one or moreusers, such that the first count of the one or more users commuted alongthe route at each of one or more other time instants, wherein the one ormore other time instants are temporally prior to the one or more timeinstants.
 12. The system of claim 11, wherein the first demand isassociated with a second count of one or more users, wherein the secondcount of the one or more users is predicted to commute along the routebased on the historical demand.
 13. The system of claim 10, wherein thecurrent demand at the current time instant is associated with a thirdcount of one or more users, wherein the third count of the one or moreusers is scheduled to commute along the route at the current timeinstant.
 14. The system of claim 13, wherein the second demand at timeinstants subsequent to the current time instant is associated with afourth count of the one or more users, where in the fourth count of theone or more users is predicted to commute along the route at thecorresponding time instant based on the current demand.
 15. The systemof claim 10, wherein the update of the dispatch schedule is furtherbased on at least an unrealized demand or one or more performancemetrics associated with a service provider of the one or more vehicles.16. The system of claim 15, wherein the unrealized demand is associatedwith a set of second users, such that a demand of the set of secondusers, for the one or more vehicles, was unmet at a time instant priorto the current time instant.
 17. The system of claim 15, wherein the oneor more performance metrics comprise at least a demand served by the oneor more vehicles, a count of vehicles dispatched from the one or morevehicles, a count of trips made by the one or more vehicles along theroute or an average user waiting time.
 18. The system of claim 17,wherein the demand served by the one or more vehicles is based on thecount of vehicles dispatched and a capacity of each of the vehiclesdispatched.
 19. A computer program product for use with a computer, thecomputer program product comprising a non-transitory computer readablemedium, wherein the non-transitory computer readable medium stores acomputer program code for managing a dispatch of vehicles based ongeneration of a dispatch schedule, wherein the computer program code isexecutable by one or more processors to: generate a dispatch schedulefor one or more vehicles at one or more time instants based on a firstdemand for the one or more vehicles at one or more stations in a routeand a count of the one or more vehicles, wherein the dispatch schedulecomprises at least a count of vehicles, from the one or more vehicles,to be dispatched from a first station of the one or more stations at thecorresponding time instant; at a current time instant of the one or moretime instants: predict a second demand for the one or more vehicles ateach of the one or more stations, at the one or more time instantssubsequent to the current time instant, based on a current demandreceived from one or more sensors at each of the one or more stations;update the dispatch schedule by varying the count of vehicles, from theone or more vehicles, to be dispatched from the first station based atleast on the second demand and the count of the one or more vehicles;and transmit a notification to a computing device installed in each ofthe one or more vehicles, wherein the notification comprises an updateddispatch schedule for the corresponding vehicle, wherein each of the oneor more vehicle dispatches from the first station based on the updateddispatch schedule.